#! /usr/bin/php
<?php

// Example:
// php up_css_list.php /var/www/mp_ui/Morecruit/release/ /var/www/wx.morecruit.cn/public_html/Versions/css-list.php

// 前端小组的CSS目录
define('FE_CSS_DIR', $argv[1]);

// 我方供打包器读取的CSS文件名列表
define('CSS_LIST_FILE', $argv[2]);

// 以下请勿修改
$cssFileNames = [];

// 遍历得到文件树
$filePaths = getFileTree(FE_CSS_DIR);

// 抽取出干净的文件名列表
foreach ($filePaths as $filePath) {
    if (strpos($filePath, '.css') !== false) {
        $cssFileNames[] = str_replace([FE_CSS_DIR . '/', '.css'], '', $filePath);
    }
}

// 把列表记录到文件
file_put_contents(CSS_LIST_FILE, '<?php return ' . var_export($cssFileNames, true) . ';');

exit('css-list updated!' . PHP_EOL);

// 遍历文件夹下所有文件
// 包括子目录下的文件
function getFileTree($path)
{
    $tree = [];

    foreach (glob($path . '/*') as $single) {
        if (is_dir($single)) {
            $tree = array_merge($tree, getFileTree($single));
        }
        else {
            $tree[] = $single;
        }
    }

    return $tree;
}